package com.example.qxfw.dysjrh.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.example.qxfw.dysjrh.entity.ContourSetting;
import com.example.qxfw.dysjrh.entity.Msgmediumsmallscale;
import com.example.qxfw.dysjrh.entity.vo.*;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;

/**
 * <p>
 *  Mapper 接口
 * </p>
 *
 * @author 
 * @since 2024-12-11
 */
@Mapper
public interface MsgmediumsmallscaleMapper extends BaseMapper<Msgmediumsmallscale> {

    Map<String,Double> selectRangeTimeRain(@Param("startTime") LocalDateTime startTime, @Param("endTime")LocalDateTime endTime);

    Double getAutomaticDrybulbtempData(@Param("startTime")LocalDateTime startTime,
                                       @Param("endTime")LocalDateTime endTime,
                                       @Param("fun") String fun);

    List<DrybulbtempVo> getDrybulbtemp(@Param("startTime") LocalDateTime startTime,
                                       @Param("endTime") LocalDateTime endTime,
                                       @Param("type") String type,
                                       @Param("advName") String advName);

    List<VisibilityVo> getMinVisibility(@Param("startTime")LocalDateTime startTime,
                                        @Param("endTime")LocalDateTime endTime,
                                        @Param("advName") String advName);

    List<RelhumidityVo> getRelhumidity(@Param("startTime")LocalDateTime startTime,
                                       @Param("endTime")LocalDateTime endTime,
                                       @Param("advName") String advName);

    List<PressVo> getPressureData(@Param("startTime")LocalDateTime startTime,
                                  @Param("endTime")LocalDateTime endTime,
                                  @Param("pressType") String pressType,
                                  @Param("advName") String advName);

    List<WindVelocityVo> getWindVelocity(@Param("startTime")LocalDateTime startTime,
                                         @Param("endTime")LocalDateTime endTime,
                                         @Param("windType")Integer windType,
                                         @Param("advName") String advName);

    List<RainVo> getRainData(@Param("startTime")LocalDateTime startTime,
                             @Param("endTime")LocalDateTime endTime,
                             @Param("rainType")Integer rainType,
                             @Param("advName") String advName);

    List<ContourSetting> getContourSetting(String paramtype);
}
